.\"   $Id: applybddnode.3,v 1.1 2002/03/18 11:26:50 ludo Exp $
.\" @(#)applybddnode.2 2.7 96/07/02 ; Labo masi cao-vlsi; Author : Jacomme Ludovic
.TH APPLYBDDNODE 3 "October 1, 1997" "ASIM/LIP6" "BDD FUNCTIONS"
.SH NAME
applybddnode \- applies an operator on two \fBbdd\fP nodes.
.so man1/alc_origin.1
.SH SYNOPSIS
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "bdd101.h"
bddnode \(**applybddnode( BddSystem, Oper, BddNode1, BddNode2 )
  bddsystem \(**BddSystem;
  long       Oper;
  bddnode   \(**BddNode1;
  bddnode   \(**BddNode2;
.ft R
.fi
.SH PARAMETERS
.TP 20
\fIBddSystem\fP
The \fBbdd\fP system.
.TP
\fIOper\fP
The binary operator.
.TP
\fIBddNode1\fP
The first \fBbdd\fP node.
.TP
\fIBddNode2\fP
The second \fBbdd\fP node.
.SH DESCRIPTION
\fBapplybddnode\fP computes the boolean function \fIBddNode1\fP
\fIOper\fP \fIBddNode2\fP in the \fBbdd\fP system \fIBddSystem\fP.
If a null pointer is given, the default \fBbdd\fP system is used.
.br
.SH RETURN VALUE
\fBapplybddnode\fP returns a pointer to the resulting \fBbdd\fP node
with its number of external reference incremented.
.SH ERRORS
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
"bad operator xxx error !"
.ft R
.RS
The \fIOper\fP parameter must be a valid binary operator.
.RE
.SH EXAMPLE
.ta 3n 6n 9n 12n 15n 18n 21n
.nf
.if n \{\
.ft B \}
.if t \{\
.ft CR \}
#include "bdd101.h"
   bddsystem  \(**BddSystem;
   bddcircuit \(**BddCircuit;
   bddnode    \(**BddNode;
   chain_list \(**Expr;
   BddSystem  = createbddsystem( 100, 1000, 100, 50000 );
   BddCircuit = createbddcircuit( "hello_world", 10, 10, BddSystem );
   addbddcircuitin( (bddcircuit \(**)0, "i0", 0, BDD_IN_MODE_FIRST );
   addbddcircuitin( (bddcircuit \(**)0, "i1", 0, BDD_IN_MODE_FIRST );
   BddNode = applybddnode( (bddsystem \(**)0,
                           ABL_AND,
                           searchbddcircuitin( (bddcircuit \(**)0, "i0" ),
                           searchbddcircuitin( (bddcircuit \(**)0, "i1" ) );
   Expr = convertbddcircuitabl( (bddcircuit \(**)0, BddNode );
   /* displays (i0 and i1) */
   viewablexpr( Expr, ABL_VIEW_VHDL );
   freeablexpr( Expr );
   destroybddsystem( (bddsystem \(**)0 );
   destroybddcircuit( (bddcircuit \(**)0 );
.ft R
.fi
.SH SEE ALSO
.BR bdd (1)


.so man1/alc_bug_report.1

